#ifndef _NE_MIDI_IN_DEVICE_WIN32_H_
#define _NE_MIDI_IN_DEVICE_WIN32_H_

#include <audio/MIDI/MIDIInDevice.h>

#if NE_PLATFORM == NE_PLATFORM_WINDOWS

#include <windows.h>

namespace ne
{
    class NEAPI MIDIInDeviceWin32 : public MIDIInDevice
    {
        public:
            MIDIInDeviceWin32(const uint32_t id, const std::string &name);

            virtual bool open();

            virtual bool reset();

            virtual bool close();

            virtual bool receivedEvent();

            virtual ~MIDIInDeviceWin32();

        protected:
            virtual bool _create();

            virtual bool _destroy();

        private:
            HMIDIIN mInDeviceHandle;
    };
}

#endif

#endif
